import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import os

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
plt.rcParams['axes.unicode_minus'] = False    # 解决坐标轴负号显示问题

# 读取数据文件
file_path = 'data.csv'  # 请将此路径替换为您的本地文件路径
data = pd.read_csv(file_path, encoding='utf-8-sig')

# 忽略第一列
data = data.iloc[:, 1:]

# 计算各个指标与洪水发生概率的相关性矩阵
correlation_matrix = data.corr(method='spearman')

# 绘制热力图
plt.figure(figsize=(12, 10))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('各个指标与洪水发生概率的相关性矩阵热力图')

# 保存热力图
heatmap_file_path = 'correlation_heatmap.png'  # 请将此路径替换为您希望保存图像的路径
plt.tight_layout()
plt.savefig(heatmap_file_path)

# 显示热力图
plt.show()

print(f"相关性矩阵热力图已保存到：{heatmap_file_path}")
